package com.fastwire.carriere.common.constant;

import java.util.HashMap;
import java.util.List;

import com.google.common.collect.Lists;
import com.google.common.collect.Maps;

public class OrderConstants {

	public static final String GROUP_ID_GSP = "GSP";

	public static final String PRODUCT_INFO_SPEED = "Speed";

	public static final String WORKFLOW_CHANGE_SPEED_CONFIGURE = "Change Speed Configure";
	public static final String WORKFLOW_CHANGE_SPEED_PROCESSING = "Change Speed Processing";

	public static final String ACTIVITY_STATUS_WIP = "WIP";

	public static final String ACTIVITY_STATUS_COM = "COM";
	public static final String ACTIVITY_STATUS_DLY = "DLY";
	public static final String ACTIVITY_STATUS_EXC = "EXC";
	public static final String ACTIVITY_STATUS_NRD = "NRD";
	public static final String ACTIVITY_STATUS_RDY = "RDY";

	//TODO: Later add other valid activities
	public static List<String> CEBS_ACTIVITIES = Lists.newArrayList();
	static {
		CEBS_ACTIVITIES.add(WORKFLOW_CHANGE_SPEED_CONFIGURE);
	}

	public static final String PEGASUS_ORDER_TYPE_PROVIDE = "1";
	public static final String PEGASUS_ORDER_TYPE_CHANGE = "2";
	public static final String PEGASUS_ORDER_TYPE_CANCEL = "3";

	public static HashMap<String, String> PEGASUS_ORDER_TYPE_MAP = Maps
			.newHashMap();
	static {
		PEGASUS_ORDER_TYPE_MAP.put(PEGASUS_ORDER_TYPE_PROVIDE, "Provide");
		PEGASUS_ORDER_TYPE_MAP.put(PEGASUS_ORDER_TYPE_CHANGE, "Change");
		PEGASUS_ORDER_TYPE_MAP.put(PEGASUS_ORDER_TYPE_CANCEL, "Cancel");

	}

	public static final String PEGASUS_ORDER_PRIORITY_NORMAL = "1";
	public static final String PEGASUS_ORDER_PRIORITY_EXPRESS = "2";
	public static final String PEGASUS_ORDER_PRIORITY_SUPEREXPRESS = "3";
	public static final String PEGASUS_ORDER_PRIORITY_LOW = "4";

	public static HashMap<String, String> PEGASUS_ORDER_PRIORITY_MAP = Maps
			.newHashMap();
	static {
		PEGASUS_ORDER_PRIORITY_MAP.put(PEGASUS_ORDER_PRIORITY_NORMAL, "Normal");
		PEGASUS_ORDER_PRIORITY_MAP.put(PEGASUS_ORDER_PRIORITY_EXPRESS,
				"Express");
		PEGASUS_ORDER_PRIORITY_MAP.put(PEGASUS_ORDER_PRIORITY_SUPEREXPRESS,
				"SuperExpress");

		PEGASUS_ORDER_PRIORITY_MAP.put(PEGASUS_ORDER_PRIORITY_LOW, "Low");

	}

	public static final String PEGASUS_SERVICE_ACTION_NORMAL = "1";
	public static final String PEGASUS_SERVICE_ACTION_TRANSFER_SI = "2";
	public static final String PEGASUS_SERVICE_ER_CHANGE_ORDER = "8";
	public static final String PEGASUS_SERVICE_ER_WITHOUT_RETAIN_NO = "9";
	public static final String PEGASUS_SERVICE_ER_WITH_RETAIN_NO = "8";
	public static final String PEGASUS_SERVICE_RETAIN_NO = "10";
	public static final String PEGASUS_SERVICE_TOS = "11";
	public static final String PEGASUS_SERVICE_UNTOS = "12";
	public static final String PEGASUS_SERVICE_CHANGE_NUM_WITH_RETAIN_OLD_NUM = "13";

	public static HashMap<String, String> PEGASUS_SERVICE_ACTION_TYPE_MAP = Maps
			.newHashMap();
	static {
		PEGASUS_SERVICE_ACTION_TYPE_MAP.put(PEGASUS_SERVICE_ACTION_NORMAL,
				"Normal");
		PEGASUS_SERVICE_ACTION_TYPE_MAP.put(PEGASUS_SERVICE_ACTION_TRANSFER_SI,
				"Transfer SI");
		PEGASUS_SERVICE_ACTION_TYPE_MAP.put(PEGASUS_SERVICE_ER_CHANGE_ORDER,
				"ER Change Order");
		PEGASUS_SERVICE_ACTION_TYPE_MAP.put(
				PEGASUS_SERVICE_ER_WITHOUT_RETAIN_NO, "ER WITHOUT Retain No");
		PEGASUS_SERVICE_ACTION_TYPE_MAP.put(PEGASUS_SERVICE_ER_WITH_RETAIN_NO,
				"ER WITH Retain No");

		PEGASUS_SERVICE_ACTION_TYPE_MAP.put(PEGASUS_SERVICE_RETAIN_NO,
				"Retain No");

		PEGASUS_SERVICE_ACTION_TYPE_MAP.put(PEGASUS_SERVICE_TOS, "TOS");

		PEGASUS_SERVICE_ACTION_TYPE_MAP.put(PEGASUS_SERVICE_UNTOS, "unTOS");
		PEGASUS_SERVICE_ACTION_TYPE_MAP.put(
				PEGASUS_SERVICE_CHANGE_NUM_WITH_RETAIN_OLD_NUM,
				"Change Num with Retain Old Num");

	}

	public static final String PEGASUS_ORDER_STATUS_NEW = "1";
	public static final String PEGASUS_ORDER_STATUS_SUBMITTED = "2";
	public static final String PEGASUS_ORDER_STATUS_COMPLETED = "3";
	public static final String PEGASUS_ORDER_STATUS_CLOSED = "4";
	public static final String PEGASUS_ORDER_STATUS_CANCELLED = "5";
	public static final String PEGASUS_ORDER_STATUS_PENDING_CANCELLATION = "6";
	public static final String PEGASUS_ORDER_STATUS_PONR = "9";

	public static HashMap<String, String> PEGASUS_ORDER_STATUS_MAP = Maps
			.newHashMap();
	static {

		PEGASUS_ORDER_STATUS_MAP.put(PEGASUS_ORDER_STATUS_NEW, "New");
		PEGASUS_ORDER_STATUS_MAP.put(PEGASUS_ORDER_STATUS_SUBMITTED,
				"Submitted");
		PEGASUS_ORDER_STATUS_MAP.put(PEGASUS_ORDER_STATUS_COMPLETED,
				"Completed");
		PEGASUS_ORDER_STATUS_MAP.put(PEGASUS_ORDER_STATUS_CLOSED, "Closed");
		PEGASUS_ORDER_STATUS_MAP.put(PEGASUS_ORDER_STATUS_CANCELLED,
				"Cancelled");
		PEGASUS_ORDER_STATUS_MAP.put(PEGASUS_ORDER_STATUS_PENDING_CANCELLATION,
				"Pending Cancellation");
		PEGASUS_ORDER_STATUS_MAP.put(PEGASUS_ORDER_STATUS_PONR, "PONR");

	}

	public static final String PEGASUS_NW_PRODUCT_ACTION_PROVIDE = "1";
	public static final String PEGASUS_NW_PRODUCT_ACTION_CHANGE = "2";
	public static final String PEGASUS_NW_PRODUCT_ACTION_CEASE = "3";
	public static final String PEGASUS_NW_PRODUCT_ACTION_CANCEL = "4";

	public static HashMap<String, String> PEGASUS_NW_PRODUCT_ACTION_MAP = Maps
			.newHashMap();
	static {
		PEGASUS_NW_PRODUCT_ACTION_MAP.put(PEGASUS_NW_PRODUCT_ACTION_PROVIDE,
				"Provide");
		PEGASUS_NW_PRODUCT_ACTION_MAP.put(PEGASUS_NW_PRODUCT_ACTION_CHANGE,
				"Change");
		PEGASUS_NW_PRODUCT_ACTION_MAP.put(PEGASUS_NW_PRODUCT_ACTION_CEASE,
				"Cease");
		PEGASUS_NW_PRODUCT_ACTION_MAP.put(PEGASUS_NW_PRODUCT_ACTION_CANCEL,
				"Cancel");

	}

}
